1. Field of the Invention
This invention pertains to the arts of electronic message and e-mail transmission and reception, and especially to the arts of automatic address generation for e-mail composers and readers for managing groups of e-mail authors and receivers for chain-forwarded messages.
2. Description of the Related Art
Electronic mail and electronic messaging have become key and integral to everyday life, both in personal lives and business lives, for millions of users worldwide. The speed and accuracy with which electronic messages and e-mails are delivered is unrivaled by other forms of messaging, such as paper mail, overnight express mail, facsimile, and voice messaging.
Prior to the widespread proliferation of the Internet and Internet-based e-mail, there were many proprietary formats of electronic messaging systems, such as IBM's Lotus Notes system, Novel's DaVinci system, and others.
However, due to global acceptance and adoption of the Internet, the Internet's e-mail protocol has become the most common electronic messaging protocol in use today. The Simple Mail Transfer Protocol (“SMTP”) provides for a quick, error-free and robust method for transferring electronic messages from one e-mail server to another. SMTP is primarily based upon two standards proliferated by the Internet Architecture Board (“IAB”), specifically RFC-821 “Simple Mail Transfer Protocol” and RFC-822 “Standard for the format of ARPA Internet text messages”. These standards and protocols are well-known in the art. RFC-821 describes the protocol used for transferring electronic messages from one server to another, and RFC-822 describes a corresponding format for those electronic messages.
Turning to FIG. 1, the basic arrangement of client browser computer or client e-mail computers and web servers is shown. A client computer (1) may access a web-based e-mail server (5) via any computer network, such as the World Wide Web (3), or an Intranet (6) such as a LAN or WAN. This access may be made through a modem and a dial-up Internet Service Provider (“ISP”), or through a “dedicated” direct connection to the Internet. The client computer (1) is normally equipped with an e-mail composer and reader program, such as Quailcomm's Eudora, Netscape's Messenger, or Microsoft's Outlook programs. These and many other widely available programs are compliant with the SMTP standards, and interoperate with e-mail servers over computer networks such as the World Wide Web.
Turning to FIG. 2, the arrangement (20) as defined by the RFC's of a sender server (23) and a receiver server (25) using the SMTP protocol is shown. A user (21) may author a SMTP-compliant message and send that message to an e-mail sender server (23). Using a series of SMTP commands (24) which are communicated to a receiver SMTP server (25) via a computer network, the electronic message is transferred from the sender SMTP (23) to the receiver SMTP server (25).
The receiver SMTP (25) server typically stores the received electronic message within its file system (26) for later retrieval by the intended recipient. The addressing and routing scheme used by e-mail servers to transmit and route electronic messages to each other using of this protocol are well-known within the art, and are also defined in the public RFC documents of the IAB.
Eventually, the recipient uses his computer (28) to download the messages from the receiver server (25), and to read, reply, or forward the messages. His computer (28) is usually equipped with e-mail reading and authoring software, which may include an e-mail address book (27).
The generalized message format of an electronic message is shown in Table 1. An electronic message is typically divided into two portions, a header and a body. Within the header are multiple tags or fields which indicate the source and destination of the message and other useful information.
TABLE 1Generalized Electronic Message FormatReceived: from source by local_server; time_of_dayFrom: senders_name <senders_email_address>Reply-to: <senders_email_address>To: recipients_name <recipients_email_address>Subject: text_of_the subject_lineContent-type: type_of_content_such_as_MIMEText of the actual message
In the example generalized message format shown in Table 1, there is a “Received” header field, a “From” header field, a “Reply-To” field, and a “To” field. These are also followed by a “Subject” field and then finally by the text of the actual message. These fields are generated by the e-mail composer on the originator's computer, and they are used by the various e-mail servers within the computer network to route the messages to the correct recipient.
As shown in Table 1, the “Received:” message header field shows information regarding which server received the message and at what time of day it was received by the local server. The “From” field in the message header shows the originator's or the sender's name and address. The “Reply-To” field shows the sender's e-mail address for use in replying to the sender. The “To” field shows the intended recipient's name and/or recipient's e-mail address. And, the “Subject” field shows a text string to be displayed when the e-mail is viewed among other e-mails in a mail box.
Most e-mail composer and reader programs allow messages to be forwarded to second, third, and subsequent recipients. For example, a sender may author an original message and send it to a first recipient. The first recipient may read that message, append comments to it and forward it to a second recipient. Table 2 shows a generalized message format for forwarded electronic messages which uses using a method of forwarding called “inline content”.
TABLE 2Generalized Forwarded Electronic Message Formatusing Inline Type of ForwardingReceived: from source by local_server; time_of_dayFrom: first_recipients_name <first_recipients_email_address>Reply-to: <first_recipients_email_address>To: second_recipients_name <second_recipients_email_address>Subject: FWD:text_of_the_subject_line_written_by_the_originatorContent-type: type_of_content_such_as_MIMEContent-disposition: inlineText of the message written by the first recipient intended for the second recipientBoundary_tagReceived: from source by local_server; time_of_dayFrom: originator_name <originators_email_address>Reply-to: <originators_email_address>To: first_recipients_name <first recipients_email_address>Subject: FWD:text_of_the_subject_line_written_by_the_originatorContent-type: type_of_content_such_as_MIMEText of the actual message written by the originator and intended for the first recipientBoundary_tag
This forwarded message format resembles the generalized message format of Table 1, especially in the initial message header, including the “received” field, “from”, “reply-to”, “to”, and “subject” fields. However, most programs modify the text contained in the “subject” field to include an indication that this is a forwarded message, such as appending the letters “FWD” prior to the actual text of the originator's subject line. Following this message header, the text of the comments authored by the first recipient and intended for the second recipient are given. Then, according to the inline forwarding method, a boundary tag is given which indicates the beginning of the actual forwarded message. Following the first boundary tag, another set of message header fields are shown which are the message header fields from the original message from the original sender of the message. These message fields are then followed by the text of the original message from the originator, and is concluded by a closing boundary tag.
Another method for forwarding an electronic message to another recipient is by “attaching” the original message to the new message. The SMTP protocol allows for files of all types to be “attached” to an electronic message, and as such, one method for forwarding a message is to create a new message to the next recipient, and to attach the old message to this new message.
As shown in Table 3, the general format of a forwarded message as an attachment is seen.
TABLE 3Generalized Forwarded Electronic Message Formatusing Attachment Type of ForwardingReceived: from source by local_server; time_of_dayFrom: first_recipients_name <first_recipients_email_address>Reply-to: <first_recipients_email_address>To: second_recipients_name <second_recipients_email_address>Subject: FWD:text_of_the_subject_line_written_by_the_originatorContent-type: type_of_content_such_as_MIMEContent-disposition: inlineText of the message written by the first recipient intended for the secondrecipientStart-of-attachment-tagReceived: from source by local_server; time_of_dayFrom: originator_name <originators_email_address>Reply-to: <originators_email_address>To: first_recipients_name <first_recipients_email_address>Subject:FWD:text_of_the_subject_line_written_by_the_originatorContent-type: type_of_content_such_as_MIMEText of the actual message written by the originator and intended for the first recipientEnd-of-attachment-tag
This message begins similar to the message in Table 2 in that it is preceded by a new message header containing multiple header fields, including the “received”, “from”, “reply-to ”, “to”, “subject” fields. However, in this case following the text of the comments written by the first recipient for the second recipient, there are special tags to indicate that there is attached file rather than the inline copy of the forwarded file. This may be the same type of tag that may be used to attach a data file or other type of file to the electronic message, but in this case the attached file is simply a text file which is actually the original message from the originator.
Thus, if one looks within that attached file, one will see that there is the original set of message header tags which indicate the originator's name, the first recipient's name (or the previous recipient's name) and other useful information regarding the previous message.
A subsequent recipient may choose to forward the message to another recipient, thereby forming a chain-forwarded message which may have the original message forwarded through a combination of methods.
All of these message header fields are used for various functions of the e-mail reader and e-mail composer software. If a user wants to reply to the sender of a message he may simply click or select a “reply” function in response to which the composer will be invoked and will automatically address the message to the address indicated in the “reply-to” field of the message. Also, the user may forward the message quite simply by clicking a “forward” button (or otherwise invoking a forward function), which causes the composer to allow creation of a new messaging containing or attaching the first message, and giving the user the capability to enter the next recipient's address and any comments he or she wishes to include.
Another useful function of common e-mail composers and readers available in the art today is that of an address book. An address book stores names and e-mail addresses of other users who are commonly communicate with the user. Most e-mail composers and readers also include automatic functions for adding a message sender's address and information to an address book.
However, with the inline and attachment methods of forwarding electronic messages, addresses for the previous recipient's and the originator of forwarded messages cannot be easily or automatically added to the address book, other than that of the most immediate previous recipient. Further, they cannot be automatically responded to or forwarded to as they are not currently indicated in the first group of message header fields of the forwarded message.
Thus, a user must resort to attempting to type manually each of the previous recipient's e-mail addresses, if he knows them. For example, if a message is forwarded five times from an originator, the fifth recipient can automatically reply to the fourth recipient using the available automatic functions of current e-mail composers, however, he cannot easily reply to all four previous recipients and originator without manually retyping the addresses of each of those parties. Further, he cannot easily add any of these previous recipients and the originator to his address book, except for the fourth recipient.
A third method of forwarding e-mail messages is by “quoting” the actual message into the text of the new message intended for the next recipient. In this method, none of the previous header fields are forwarded to the next recipient. A simple line of text such as “Previous_recipient wrote:” may be inserted above the quoted text, and the quoted text may be set apart such as using a character such as “>” or a blue bar in the left margin.
In this case, it is much more difficult for the recipient of a chain-forwarded message to reply to previous recipients because the information regarding the previous recipient's addresses has been completely stripped from the forwarded message.
The related application disclosed a system and method for automatically determining the previous authors and recipients of chain-forwarded electronic messages. In the related application, a method was described in which the received electronic message is scanned or parsed for existing SMTP fields and for new unique fields which indicate a chain of e-mail addresses to which and from which a chain forwarded message may be have been received or sent. The disclosed method and system also provides a method for easily adding these recipients and authors to a user's electronic mail address book.
As these types of messages are forwarded several times or replied to several times, the method used employed by common SMTP e-mail software programs to display multiple replies and comments may be somewhat confusing. For example, Table 4 shows one method that common e-mail software uses to display the forwarded text components of a chain-forwarded electronic message. In this example a right arrow or greater than symbol “>” is used to indicate how many previous instances of forwarding or replying levels have occurred for a given portion of the message.
TABLE 4Example Display of Linearly Chain-forwarded E-Mail MessageFrom: first_recipients_name <first_recipients email_address>To: second recipients_name <second_recipients email_address>Subject: FWD:text_of_the_subject line_written_by_the_originatorHere is something I thought you might find interesting from a friend ofmine.>From: originator_name <originators_email_address>>To: first_recipients_name <first_recipients_email_address>>Subject: FWD:text_of_the_subject_line_written_by_the_originator>What do you think of this new information?>>From: update@online_news_service.com>>To: originator_name <originators_email_address>>>Subject: FWD:text_of_the_subject_line_written by_the_originator>>Shares of company ABC hit all-time high after news of new product>>release. Company ABC announced that its new XYZ product would>>ship by the end of the year, and would be 5 times more efficient that>>the closest competitor product.
As can be seen from the example given in Table 4, each time a portion of a text message is forwarded to a new recipient, an additional forwarding character is added along the left margin of the text. This example illustrates a simple linear forwarding scheme in which an automatic news service forwarded news to an originator of a message. The originator then forwarded that message to a first recipient, who then forwarded the same message to a second recipient, such that each time the message was forwarded, the current recipient added a comment of his own.
As shown in Table 5, a chain replied and chain forwarded message may become confusing to read in this format, especially if the progression of the messages and replies is not a linear progression. For example, if the message is forwarded to more than one party simultaneously, and then it is replied to by more than one party, it may become difficult to determine at what time certain replies were made and how each reply relates to the original message or messages. Even though this is a very common message format to receive in today's paradigm of electronic messaging, it is very difficult to decipher and interpret by a recipient.
TABLE 5Example Display of Non-linearlyChain-forwarded E-Mail MessageFrom: bobTo: joeSubject: REPLY: news about ABC's XYZI'm not sure I understand who their competitors really are?>From: sue>To: joe>Subject: FWD: REPLY: ABC's XYZ is now available>Joe, that ought to take all the market share from ABC's biggest>competitor!!>I can't wait to see how this plays out.>>From: joe>>To: sue, bob>>Subject: REPLY: FWD:ABC shares up sharply on new product>>announcement>>Shares of company ABC hit all-time high after news of new product>>release. Company ABC announced that it's new XYZ product would>>ship by the end of the year, and would be 5 times more efficient that>>the closest competitor product.>>>From: sue>>>To: joe>>>Subject: lunch conversation>>>Joe,>>>I was having lunch with Bob yesterday, and he said you had told him>>>that you were getting ready to buy a lot of shares in ABC company. Is>>>that right? I heard that their competitors had captured nearly 100% of>>>the market share last year and ABC company might not survive>>>the year.>>>Bye, Sue
As shown in Table 5, it becomes indeterminate as to the order and relevance of forwarded text components and replied text components within a chain-forwarded message, especially if it was not linearly forwarded or replied to, as in this example.
Another form of communications based on text transmissions is known as “chat groups.” In chat groups, a single window or a pair of windows is displayed in which replies are posted with a simple label or text identifier as to the submitter or creator of the reply. The label may be a simple as a nick name, first name, or login name, but is not usually as long or as complex as a full e-mail address. For example, Table 6 shows a similar conversation held in a chat group.
TABLE 6Example Discussion in a Chat Groupbob:I'm not sure I understand who their competitors really are?sue:Joe, that ought to take all the market share from ABC's biggestcompetitor!! I can't wait to see how this plays out.joe:Sue, I heard that shares of company ABC hit all-time high afternews of new product release. Company ABC announced thatit's new XYZ product would ship by the end of the year,and would be 5 times more efficient that theclosest competitor product.sue:Joe, I was having lunch with Bob yesterday, and he said you hadtold him that you were getting ready to buy a lot of shares inABC company. Is that right? I heard that their competitorshad captured nearly 100% of the market share last year and ABCcompany might not survive the year.
As shown in Table 6, a participant such as Bob can monitor the entire thread of conversation between Sue and Joe until he has a question or comment to add. A chat group viewer presents the conversation in a linear format even though it may occur or be originated by multiple parties asynchronously. Further, a chat group such as this is typically organized by participant profile, such as “young adults” or “music lovers,” or by subject such as “politics” or “health.”. From a chat room server, a user may select a particular subject or participant profile in order to join a chat. Some chat room servers allow a participant to print the interactions as they occur, but in general the chats occur on a realtime basis, unlike electronic mail messaging.
Therefore, there is a need in the art for a system and method which allows convenient and efficient management of chain forwarded and chain replied electronic mail messages. Further, there is a need in the art for this system and method to provide quick and easy association of sender and receiver electronic message addresses to groups of chain forwarded and chain replied electronic messages.